{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 148,
   "id": "collect-boards",
   "metadata": {},
   "outputs": [],
   "source": [
    "import requests\n",
    "import pandas as pd\n",
    "import  matplotlib.pyplot as plt\n",
    "import json\n",
    "import datetime\n",
    "import time\n",
    "import numpy as np\n",
    "import matplotlib.dates as mdates\n",
    "\n",
    "headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:23.0) Gecko/20100101 Firefox/23.0'}  \n",
    "\n",
    "url_markkline=\"http://hqhk.niuguwang.com/hkquote/quotedata/markkline.ashx?code=2000&type=5&count=600\"\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 92,
   "id": "attractive-nomination",
   "metadata": {},
   "outputs": [],
   "source": [
    "#req=requests.post(url,headers=headers)\n",
    "html = requests.get(url_markkline, headers=headers)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 93,
   "id": "sonic-moses",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>highp</th>\n",
       "      <th>openp</th>\n",
       "      <th>lowp</th>\n",
       "      <th>nowv</th>\n",
       "      <th>preclose</th>\n",
       "      <th>curvol</th>\n",
       "      <th>curvalue</th>\n",
       "      <th>updownrate</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>times</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2021-05-28</th>\n",
       "      <td>29336.13</td>\n",
       "      <td>29219.46</td>\n",
       "      <td>29033.72</td>\n",
       "      <td>29124.41</td>\n",
       "      <td>29113.20</td>\n",
       "      <td>1.727429e+11</td>\n",
       "      <td>1.727429e+11</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2021-05-27</th>\n",
       "      <td>29157.95</td>\n",
       "      <td>28998.39</td>\n",
       "      <td>28950.72</td>\n",
       "      <td>29113.20</td>\n",
       "      <td>29166.01</td>\n",
       "      <td>2.505019e+11</td>\n",
       "      <td>2.505019e+11</td>\n",
       "      <td>-0.18%</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2021-05-26</th>\n",
       "      <td>29261.86</td>\n",
       "      <td>29056.28</td>\n",
       "      <td>29027.95</td>\n",
       "      <td>29166.01</td>\n",
       "      <td>28910.86</td>\n",
       "      <td>1.642963e+11</td>\n",
       "      <td>1.642963e+11</td>\n",
       "      <td>0.88%</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2021-05-25</th>\n",
       "      <td>28929.24</td>\n",
       "      <td>28461.50</td>\n",
       "      <td>28461.50</td>\n",
       "      <td>28910.86</td>\n",
       "      <td>28412.26</td>\n",
       "      <td>1.678701e+11</td>\n",
       "      <td>1.678701e+11</td>\n",
       "      <td>1.75%</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2021-05-24</th>\n",
       "      <td>28444.36</td>\n",
       "      <td>28417.99</td>\n",
       "      <td>28195.52</td>\n",
       "      <td>28412.26</td>\n",
       "      <td>28458.44</td>\n",
       "      <td>1.208848e+11</td>\n",
       "      <td>1.208848e+11</td>\n",
       "      <td>-0.16%</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "               highp     openp      lowp      nowv  preclose        curvol  \\\n",
       "times                                                                        \n",
       "2021-05-28  29336.13  29219.46  29033.72  29124.41  29113.20  1.727429e+11   \n",
       "2021-05-27  29157.95  28998.39  28950.72  29113.20  29166.01  2.505019e+11   \n",
       "2021-05-26  29261.86  29056.28  29027.95  29166.01  28910.86  1.642963e+11   \n",
       "2021-05-25  28929.24  28461.50  28461.50  28910.86  28412.26  1.678701e+11   \n",
       "2021-05-24  28444.36  28417.99  28195.52  28412.26  28458.44  1.208848e+11   \n",
       "\n",
       "                curvalue updownrate  \n",
       "times                                \n",
       "2021-05-28  1.727429e+11        NaN  \n",
       "2021-05-27  2.505019e+11     -0.18%  \n",
       "2021-05-26  1.642963e+11      0.88%  \n",
       "2021-05-25  1.678701e+11      1.75%  \n",
       "2021-05-24  1.208848e+11     -0.16%  "
      ]
     },
     "execution_count": 93,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data_list = json.loads(html.text)\n",
    "timedata = data_list[\"timedata\"]\n",
    "#df_timedata=pd.DataFrame(timedata,dtype=np.float)\n",
    "df_timedata=pd.DataFrame(timedata)\n",
    "\n",
    "df_timedata.times=df_timedata.times.apply(lambda x:  datetime.datetime.strptime(x[:-6], \"%Y%m%d\"))\n",
    "df_timedata.set_index(\"times\", drop=True,inplace=True)\n",
    "#dfnowv=dfnowv.map(lambda x:float(x)/100) \n",
    "df_timedata.openp = df_timedata.openp.astype(float)/100\n",
    "df_timedata.highp = df_timedata.highp.astype(float)/100\n",
    "df_timedata.lowp = df_timedata.lowp.astype(float)/100\n",
    "df_timedata.nowv = df_timedata.nowv.astype(float)/100\n",
    "df_timedata.preclose = df_timedata.preclose.astype(float)/100\n",
    "\n",
    "df_timedata.curvol = df_timedata.curvol.astype(float)\n",
    "df_timedata.curvalue = df_timedata.curvalue.astype(float)\n",
    "\n",
    "df_timedata.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 94,
   "id": "brilliant-customs",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:xlabel='times'>"
      ]
     },
     "execution_count": 94,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "df_timedata.nowv.plot()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 99,
   "id": "charitable-balance",
   "metadata": {},
   "outputs": [],
   "source": [
    "dfnow2021 = df_timedata.nowv[\"2021-05\"]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 136,
   "id": "hydraulic-reply",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1152x576 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "\n",
    "fig = plt.figure(figsize=(16, 8))\n",
    "plt.gcf().autofmt_xdate() \n",
    "\n",
    "ax1 = fig.add_subplot(1, 1, 1)\n",
    "\n",
    "ax1.plot(dfnow2021,marker = \"o\")\n",
    "# 设置x轴主刻度格式\n",
    "alldays = mdates.DayLocator()  # 主刻度为每天\n",
    "ax1.xaxis.set_major_locator(alldays)  # 设置主刻度\n",
    "ax1.xaxis.set_major_formatter(mdates.DateFormatter('%m%d'))\n",
    "'''\n",
    "# 设置副刻度格式\n",
    "hoursLoc = mpl.dates.HourLocator(interval=6)  # 为6小时为1副刻度\n",
    "ax1.xaxis.set_minor_locator(hoursLoc)\n",
    "ax1.xaxis.set_minor_formatter(mdates.DateFormatter('%H'))\n",
    "# 参数pad用于设置刻度线与标签间的距离\n",
    "ax1.tick_params(pad=10)\n",
    "'''\n",
    "plt.grid()\n",
    "# 显示图像\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 155,
   "id": "fixed-sequence",
   "metadata": {},
   "outputs": [
    {
     "ename": "ValueError",
     "evalue": "Image size of 175076161x423 pixels is too large. It must be less than 2^16 in each direction.",
     "output_type": "error",
     "traceback": [
      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[0;31mValueError\u001b[0m                                Traceback (most recent call last)",
      "\u001b[0;32m~/.pyenv/versions/3.7.0/lib/python3.7/site-packages/IPython/core/formatters.py\u001b[0m in \u001b[0;36m__call__\u001b[0;34m(self, obj)\u001b[0m\n\u001b[1;32m    339\u001b[0m                 \u001b[0;32mpass\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    340\u001b[0m             \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 341\u001b[0;31m                 \u001b[0;32mreturn\u001b[0m \u001b[0mprinter\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mobj\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    342\u001b[0m             \u001b[0;31m# Finally look for special method names\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    343\u001b[0m             \u001b[0mmethod\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mget_real_method\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mobj\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mprint_method\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m~/.pyenv/versions/3.7.0/lib/python3.7/site-packages/IPython/core/pylabtools.py\u001b[0m in \u001b[0;36m<lambda>\u001b[0;34m(fig)\u001b[0m\n\u001b[1;32m    246\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    247\u001b[0m     \u001b[0;32mif\u001b[0m \u001b[0;34m'png'\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mformats\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 248\u001b[0;31m         \u001b[0mpng_formatter\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfor_type\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mFigure\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;32mlambda\u001b[0m \u001b[0mfig\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mprint_figure\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfig\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'png'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    249\u001b[0m     \u001b[0;32mif\u001b[0m \u001b[0;34m'retina'\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mformats\u001b[0m \u001b[0;32mor\u001b[0m \u001b[0;34m'png2x'\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mformats\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    250\u001b[0m         \u001b[0mpng_formatter\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfor_type\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mFigure\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;32mlambda\u001b[0m \u001b[0mfig\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mretina_figure\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfig\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m~/.pyenv/versions/3.7.0/lib/python3.7/site-packages/IPython/core/pylabtools.py\u001b[0m in \u001b[0;36mprint_figure\u001b[0;34m(fig, fmt, bbox_inches, **kwargs)\u001b[0m\n\u001b[1;32m    130\u001b[0m         \u001b[0mFigureCanvasBase\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfig\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    131\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 132\u001b[0;31m     \u001b[0mfig\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcanvas\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mprint_figure\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mbytes_io\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkw\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    133\u001b[0m     \u001b[0mdata\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mbytes_io\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mgetvalue\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    134\u001b[0m     \u001b[0;32mif\u001b[0m \u001b[0mfmt\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;34m'svg'\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m~/.pyenv/versions/3.7.0/lib/python3.7/site-packages/matplotlib/backend_bases.py\u001b[0m in \u001b[0;36mprint_figure\u001b[0;34m(self, filename, dpi, facecolor, edgecolor, orientation, format, bbox_inches, pad_inches, bbox_extra_artists, backend, **kwargs)\u001b[0m\n\u001b[1;32m   2215\u001b[0m                     \u001b[0morientation\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0morientation\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m   2216\u001b[0m                     \u001b[0mbbox_inches_restore\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0m_bbox_inches_restore\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 2217\u001b[0;31m                     **kwargs)\n\u001b[0m\u001b[1;32m   2218\u001b[0m             \u001b[0;32mfinally\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m   2219\u001b[0m                 \u001b[0;32mif\u001b[0m \u001b[0mbbox_inches\u001b[0m \u001b[0;32mand\u001b[0m \u001b[0mrestore_bbox\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m~/.pyenv/versions/3.7.0/lib/python3.7/site-packages/matplotlib/backend_bases.py\u001b[0m in \u001b[0;36mwrapper\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m   1637\u001b[0m             \u001b[0mkwargs\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpop\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0marg\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m   1638\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1639\u001b[0;31m         \u001b[0;32mreturn\u001b[0m \u001b[0mfunc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m   1640\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m   1641\u001b[0m     \u001b[0;32mreturn\u001b[0m \u001b[0mwrapper\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m~/.pyenv/versions/3.7.0/lib/python3.7/site-packages/matplotlib/backends/backend_agg.py\u001b[0m in \u001b[0;36mprint_png\u001b[0;34m(self, filename_or_obj, metadata, pil_kwargs, *args)\u001b[0m\n\u001b[1;32m    507\u001b[0m             \u001b[0;34m*\u001b[0m\u001b[0mmetadata\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mincluding\u001b[0m \u001b[0mthe\u001b[0m \u001b[0mdefault\u001b[0m \u001b[0;34m'Software'\u001b[0m \u001b[0mkey\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    508\u001b[0m         \"\"\"\n\u001b[0;32m--> 509\u001b[0;31m         \u001b[0mFigureCanvasAgg\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdraw\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    510\u001b[0m         mpl.image.imsave(\n\u001b[1;32m    511\u001b[0m             \u001b[0mfilename_or_obj\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbuffer_rgba\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mformat\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m\"png\"\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0morigin\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m\"upper\"\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m~/.pyenv/versions/3.7.0/lib/python3.7/site-packages/matplotlib/backends/backend_agg.py\u001b[0m in \u001b[0;36mdraw\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m    400\u001b[0m     \u001b[0;32mdef\u001b[0m \u001b[0mdraw\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    401\u001b[0m         \u001b[0;31m# docstring inherited\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 402\u001b[0;31m         \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrenderer\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_renderer\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mcleared\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mTrue\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    403\u001b[0m         \u001b[0;31m# Acquire a lock on the shared font cache.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    404\u001b[0m         \u001b[0;32mwith\u001b[0m \u001b[0mRendererAgg\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlock\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;31m \u001b[0m\u001b[0;31m\\\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m~/.pyenv/versions/3.7.0/lib/python3.7/site-packages/matplotlib/backends/backend_agg.py\u001b[0m in \u001b[0;36mget_renderer\u001b[0;34m(self, cleared)\u001b[0m\n\u001b[1;32m    416\u001b[0m                           and getattr(self, \"_lastKey\", None) == key)\n\u001b[1;32m    417\u001b[0m         \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mreuse_renderer\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 418\u001b[0;31m             \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrenderer\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mRendererAgg\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mw\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mh\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfigure\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdpi\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    419\u001b[0m             \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_lastKey\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mkey\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    420\u001b[0m         \u001b[0;32melif\u001b[0m \u001b[0mcleared\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m~/.pyenv/versions/3.7.0/lib/python3.7/site-packages/matplotlib/backends/backend_agg.py\u001b[0m in \u001b[0;36m__init__\u001b[0;34m(self, width, height, dpi)\u001b[0m\n\u001b[1;32m     94\u001b[0m         \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mwidth\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mwidth\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     95\u001b[0m         \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mheight\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mheight\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 96\u001b[0;31m         \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_renderer\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_RendererAgg\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mwidth\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mheight\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdpi\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m     97\u001b[0m         \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_filter_renderers\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     98\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;31mValueError\u001b[0m: Image size of 175076161x423 pixels is too large. It must be less than 2^16 in each direction."
     ]
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 1152x576 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "\n",
    "fig = plt.figure(figsize=(16, 8))\n",
    "plt.gcf().autofmt_xdate() \n",
    "\n",
    "ax1 = fig.add_subplot(1, 1, 1)\n",
    "\n",
    "ax1.plot(dfnow2021,marker = \"o\")\n",
    "\n",
    "ax1.text(t,29000,'BSType', fontsize=10, color = \"r\", style = \"italic\", weight = \"light\", verticalalignment='center', horizontalalignment='right',rotation=0)\n",
    "\n",
    "# 设置x轴主刻度格式\n",
    "alldays = mdates.DayLocator()  # 主刻度为每天\n",
    "ax1.xaxis.set_major_locator(alldays)  # 设置主刻度\n",
    "ax1.xaxis.set_major_formatter(mdates.DateFormatter('%m%d'))\n",
    "'''\n",
    "# 设置副刻度格式\n",
    "hoursLoc = mpl.dates.HourLocator(interval=6)  # 为6小时为1副刻度\n",
    "ax1.xaxis.set_minor_locator(hoursLoc)\n",
    "ax1.xaxis.set_minor_formatter(mdates.DateFormatter('%H'))\n",
    "# 参数pad用于设置刻度线与标签间的距离\n",
    "ax1.tick_params(pad=10)\n",
    "'''\n",
    "\n",
    "plt.grid()\n",
    "# 显示图像\n",
    "plt.show()\n",
    "\n",
    "#plt.text(x, y, s, fontsize, verticalalignment,horizontalalignment,rotation , **kwargs)\n",
    "\n",
    "#ax.text(430, 337, \"北京\", fontsize=12, color = \"r\", style = \"italic\", weight = \"light\", verticalalignment='center', horizontalalignment='right', rotation=90)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 119,
   "id": "overall-pipeline",
   "metadata": {},
   "outputs": [
    {
     "ename": "ValueError",
     "evalue": "If using all scalar values, you must pass an index",
     "output_type": "error",
     "traceback": [
      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[0;31mValueError\u001b[0m                                Traceback (most recent call last)",
      "\u001b[0;32m<ipython-input-119-16d46e20f3d2>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m      1\u001b[0m \u001b[0mdatebssignal\u001b[0m \u001b[0;34m=\u001b[0m\u001b[0;34m{\u001b[0m\u001b[0;34m'2021-05-11'\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\"B\"\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\"2021-05-21\"\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\"S\"\u001b[0m\u001b[0;34m}\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0mdf_signal\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mpd\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mDataFrame\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdatebssignal\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m      3\u001b[0m \u001b[0mdf_signal\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m~/.pyenv/versions/3.7.0/lib/python3.7/site-packages/pandas/core/frame.py\u001b[0m in \u001b[0;36m__init__\u001b[0;34m(self, data, index, columns, dtype, copy)\u001b[0m\n\u001b[1;32m    466\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    467\u001b[0m         \u001b[0;32melif\u001b[0m \u001b[0misinstance\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdata\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdict\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 468\u001b[0;31m             \u001b[0mmgr\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0minit_dict\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdata\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mindex\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcolumns\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdtype\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mdtype\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    469\u001b[0m         \u001b[0;32melif\u001b[0m \u001b[0misinstance\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdata\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mma\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mMaskedArray\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    470\u001b[0m             \u001b[0;32mimport\u001b[0m \u001b[0mnumpy\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mma\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmrecords\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mmrecords\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m~/.pyenv/versions/3.7.0/lib/python3.7/site-packages/pandas/core/internals/construction.py\u001b[0m in \u001b[0;36minit_dict\u001b[0;34m(data, index, columns, dtype)\u001b[0m\n\u001b[1;32m    281\u001b[0m             \u001b[0marr\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mis_datetime64tz_dtype\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0marr\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32melse\u001b[0m \u001b[0marr\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcopy\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0marr\u001b[0m \u001b[0;32min\u001b[0m \u001b[0marrays\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    282\u001b[0m         ]\n\u001b[0;32m--> 283\u001b[0;31m     \u001b[0;32mreturn\u001b[0m \u001b[0marrays_to_mgr\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0marrays\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdata_names\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mindex\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcolumns\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdtype\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mdtype\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    284\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    285\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m~/.pyenv/versions/3.7.0/lib/python3.7/site-packages/pandas/core/internals/construction.py\u001b[0m in \u001b[0;36marrays_to_mgr\u001b[0;34m(arrays, arr_names, index, columns, dtype, verify_integrity)\u001b[0m\n\u001b[1;32m     76\u001b[0m         \u001b[0;31m# figure out the index, if necessary\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     77\u001b[0m         \u001b[0;32mif\u001b[0m \u001b[0mindex\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 78\u001b[0;31m             \u001b[0mindex\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mextract_index\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0marrays\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m     79\u001b[0m         \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     80\u001b[0m             \u001b[0mindex\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mensure_index\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mindex\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m~/.pyenv/versions/3.7.0/lib/python3.7/site-packages/pandas/core/internals/construction.py\u001b[0m in \u001b[0;36mextract_index\u001b[0;34m(data)\u001b[0m\n\u001b[1;32m    385\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    386\u001b[0m         \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mindexes\u001b[0m \u001b[0;32mand\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mraw_lengths\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 387\u001b[0;31m             \u001b[0;32mraise\u001b[0m \u001b[0mValueError\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"If using all scalar values, you must pass an index\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    388\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    389\u001b[0m         \u001b[0;32mif\u001b[0m \u001b[0mhave_series\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;31mValueError\u001b[0m: If using all scalar values, you must pass an index"
     ]
    }
   ],
   "source": [
    "datebssignal ={'2021-05-11':\"B\",\"2021-05-21\":\"S\"}\n",
    "df_signal = pd.DataFrame(datebssignal)\n",
    "df_signal"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 152,
   "id": "suspected-republic",
   "metadata": {},
   "outputs": [],
   "source": [
    "t = time.mktime((2021, 95, 11, 9, 44, 31, 6, 273, 0))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "annual-spray",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "id": "invisible-coral",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "datetime.datetime(2019, 3, 17, 0, 0)"
      ]
     },
     "execution_count": 56,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# str转时间格式：\n",
    "dd = '20190317'\n",
    "dd = datetime.datetime.strptime(dd, \"%Y%m%d\")\n",
    "dd"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "norwegian-committee",
   "metadata": {},
   "outputs": [],
   "source": [
    "df=pd.read_json(json_data,orient=\"times\")\n",
    "print(df)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "id": "technological-affairs",
   "metadata": {},
   "outputs": [
    {
     "ename": "TypeError",
     "evalue": "Object of type Series is not JSON serializable",
     "output_type": "error",
     "traceback": [
      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[0;31mTypeError\u001b[0m                                 Traceback (most recent call last)",
      "\u001b[0;32m<ipython-input-27-41323fe8205f>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mjson_data\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mjson\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdumps\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdf_timedata\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m      2\u001b[0m \u001b[0mdf\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mpd\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mread_json\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mjson_data\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0morient\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m\"records\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m~/.pyenv/versions/3.7.0/lib/python3.7/json/__init__.py\u001b[0m in \u001b[0;36mdumps\u001b[0;34m(obj, skipkeys, ensure_ascii, check_circular, allow_nan, cls, indent, separators, default, sort_keys, **kw)\u001b[0m\n\u001b[1;32m    229\u001b[0m         \u001b[0mcls\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mNone\u001b[0m \u001b[0;32mand\u001b[0m \u001b[0mindent\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mNone\u001b[0m \u001b[0;32mand\u001b[0m \u001b[0mseparators\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mNone\u001b[0m \u001b[0;32mand\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    230\u001b[0m         default is None and not sort_keys and not kw):\n\u001b[0;32m--> 231\u001b[0;31m         \u001b[0;32mreturn\u001b[0m \u001b[0m_default_encoder\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mencode\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mobj\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    232\u001b[0m     \u001b[0;32mif\u001b[0m \u001b[0mcls\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    233\u001b[0m         \u001b[0mcls\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mJSONEncoder\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m~/.pyenv/versions/3.7.0/lib/python3.7/json/encoder.py\u001b[0m in \u001b[0;36mencode\u001b[0;34m(self, o)\u001b[0m\n\u001b[1;32m    197\u001b[0m         \u001b[0;31m# exceptions aren't as detailed.  The list call should be roughly\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    198\u001b[0m         \u001b[0;31m# equivalent to the PySequence_Fast that ''.join() would do.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 199\u001b[0;31m         \u001b[0mchunks\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0miterencode\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mo\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0m_one_shot\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mTrue\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    200\u001b[0m         \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0misinstance\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mchunks\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mlist\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtuple\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    201\u001b[0m             \u001b[0mchunks\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mlist\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mchunks\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m~/.pyenv/versions/3.7.0/lib/python3.7/json/encoder.py\u001b[0m in \u001b[0;36miterencode\u001b[0;34m(self, o, _one_shot)\u001b[0m\n\u001b[1;32m    255\u001b[0m                 \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mkey_separator\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mitem_separator\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msort_keys\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    256\u001b[0m                 self.skipkeys, _one_shot)\n\u001b[0;32m--> 257\u001b[0;31m         \u001b[0;32mreturn\u001b[0m \u001b[0m_iterencode\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mo\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m0\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    258\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    259\u001b[0m def _make_iterencode(markers, _default, _encoder, _indent, _floatstr,\n",
      "\u001b[0;32m~/.pyenv/versions/3.7.0/lib/python3.7/json/encoder.py\u001b[0m in \u001b[0;36mdefault\u001b[0;34m(self, o)\u001b[0m\n\u001b[1;32m    177\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    178\u001b[0m         \"\"\"\n\u001b[0;32m--> 179\u001b[0;31m         raise TypeError(f'Object of type {o.__class__.__name__} '\n\u001b[0m\u001b[1;32m    180\u001b[0m                         f'is not JSON serializable')\n\u001b[1;32m    181\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;31mTypeError\u001b[0m: Object of type Series is not JSON serializable"
     ]
    }
   ],
   "source": [
    "json_data=json.dumps(df_timedata)\n",
    "df=pd.read_json(json_data,orient=\"records\")\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 120,
   "id": "careful-stock",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "\n",
    "vals,poly = range(-60,60), range(-60,60)\n",
    "\n",
    "plt.plot(vals, poly, label='some graph')\n",
    "roots = [-1,1,2]\n",
    "\n",
    "mark = [vals.index(i) for i in roots]\n",
    "\n",
    "plt.plot(roots,[poly[i] for i in mark], ls=\"\", marker=\"o\", label=\"points\")\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 121,
   "id": "anonymous-producer",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[59, 61, 62]\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "\n",
    "vals,poly = range(-60,60), range(-60,60)\n",
    "\n",
    "plt.plot(vals, poly, label='some graph')\n",
    "roots = [-1,1,2]\n",
    "\n",
    "mark = [vals.index(i) for i in roots]\n",
    "print(mark)\n",
    "plt.plot(vals,poly,markevery=mark, ls=\"\", marker=\"o\", label=\"points\")\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "indirect-destruction",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.0"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
